package com.woniu.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import com.woniu.entity.Goods;
import com.woniu.vo.GoodsVo;
import com.woniu.vo.QueryVo;

import tk.mybatis.mapper.common.Mapper;

public interface GoodsMapper extends Mapper<Goods> {

	/**
	 * @param endingtime
	 * @param starttime
	 * @param productstatus
	 * @param sellername
	 * @param pname
	 * @return
	 */

	int getGoodsCount(@Param("pname") String pname, @Param("sellername") String sellername,
			@Param("productstatus") String productstatus, @Param("starttime") String starttime,
			@Param("endingtime") String endingtime);

	/**
	 * @param pageSize      查询语句中limit后面跟的参数
	 * @param startIndex    offset后面的参数，用于计算从第几条开始，limit*pageNum得到
	 * @param pname
	 * @param endingtime
	 * @param starttime
	 * @param productstatus
	 * @param sellername
	 * @return
	 */
	//@Cacheable
	List<Map> getProductList(@Param("pageSize") int pageSize, @Param("startIndex") int startIndex,
			@Param("pname") String pname, @Param("sellername") String sellername,
			@Param("productstatus") String productstatus, @Param("starttime") String starttime,
			@Param("endingtime") String endingtime);

	/**
	 * @param productId 根据商品id修改商品状态为无效
	 * @return
	 */
	@Update("UPDATE t_goods SET goodstatus='0' WHERE gid=#{productId}")
	int switchStatusOff(String productId);

	/**
	 * @param productId 根据商品id修改商品状态为：仓库
	 * @return
	 */
	
	@Update("UPDATE t_goods SET goodstatus='1' WHERE gid=#{productId}")
	int switchStatusOn(String productId);
	
	
	List<QueryVo> selectAllGoods(@Param("gv")GoodsVo gv);

	int findCount(@Param("gv")GoodsVo gv);

	QueryVo findGoodsById(Integer gid);

	void changeGoodsById(@Param("gid")Integer gid,@Param("uploadtime")Date uploadtime,@Param("goodstatus")String goodstatus);

}